import { defineStore } from 'pinia'
import { ref } from 'vue'
import axios from 'axios'

export const useChannelStore = defineStore('channel', () => {
  // 声明数据 将来把请求过来的数据存入
  const channelList = ref([])
  // 声明操作数据的方法
  const getList = async () => {
    // 支持异步的
    const { data: { data } } = await axios.get('http://geek.itheima.net/v1_0/channels')
    channelList.value = data.channels // 存入我们实现声明好的响应式数组
  }

  // 声明getters相关
  // 将我们这个模块中的数据暴露出去
  return { channelList, getList }
  // pinia中默认是使用的localStorage来存储的

  // 这个配置项我们可以自定义 比方说存储的键名,存储方式 因为默认是localstorage来存储
  // 我们也可以修改
}, { persist:{
    key:'hm-counter',
    // 修改存储方式为 sessionStorage
    // storage:sessionStorage

} })
